
package pos.entity;

import java.math.BigInteger;
import java.sql.Timestamp;
/**
 * This an Customer Entity object which stores the attributes of the customers
 * @author srikanth ramu
 */
public class Customer {

    //Private column variables
    private BigInteger id = null;
    private String name = "";
    private String lastName = "";
    private String upCode = "";
    private String description = "";
    private Timestamp dateOfJoin = null;
    private String password = "";
    private String unitNumber = "";
    private String address = "";
    private String postalCode = "";
    private String country = "";
    private String city = "";
    private String email = "";
    private String phoneNumber = "";
    private boolean authenticated = false;

    /**
     * Returns if the customer is authenticated
     * @return 
     */
    public boolean isAuthenticated() {
        return authenticated;
    }

    public void setAuthenticated(boolean authenticated) {
        this.authenticated = authenticated;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getPostalCode() {
        return postalCode;
    }

    public void setPostalCode(String postalCode) {
        this.postalCode = postalCode;
    }

    public String getUnitNumber() {
        return unitNumber;
    }

    public void setUnitNumber(String unitNumber) {
        this.unitNumber = unitNumber;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
    
    /**
     * Returns the name of the table
     * @return 
     */
    public static String getTableName(){
        return "CUSTOMER";
    }
    
    public void setID(BigInteger id){
        this.id = id;
    }
    
    public BigInteger getID(){
        return id;
    }
    
    public void setName(String name){
        this.name = name;
    }
    
    public String getName(){
        return name;
    }
    
    public void setUPCode(String upCode){
        this.upCode = upCode;
    }
    
    public String getUPCode(){
        return upCode;
    }
    
    public void setDesc(String description){
        this.description = description;
    }
    
    public String getDesc(){
        return description;
    }
    
    public void setDOJ(Timestamp dateOfJoin){
        this.dateOfJoin = dateOfJoin;
    }
    
    public Timestamp getDOJ(){
        return dateOfJoin;
    }
    
    //Specific SQLS
    public static String SELECT = "SELECT * FROM CUSTOMER";
}
